package com.ims.core.saleconfig.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ims.common.annotation.Excel;
import com.ims.common.annotation.RequestName;
import com.ims.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 商品对象 t_sal_product
 *
 * @author IMS
 * @date 2024-05-20
 */
public class TSalProduct extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 货物及服务ID */
    private String productId;

    /** 客户ID */
    private String custId;

    /** 公司代码 */
    private String siteCode;

    /** 公司 */
    @Excel(name = "公司")
    private String siteName;

    /** 货物及服务编码 */
    @Excel(name = "货物及服务编码")
    @RequestName(name="货物及服务名称")
    private String productCode;

    /** 货物及服务名称 */
    @Excel(name = "货物及服务名称")
    @RequestName(name="货物及服务名称")
    private String productName;

    /** 规格型号 */
    @Excel(name = "规格型号")
    private String specificatCode;

    /** 单位 */
    @Excel(name = "单位")
    private String unit;

    /** 单价 */
    @Excel(name = "单价")
    private String price;

    /** 含税标识代码 */
    @Excel(name = "含税标识代码")
    private Long isTax;

    /** 含税标识 */
    @Excel(name = "含税标识")
    private String isTaxName;

    /** 税收分类编码 */
    @Excel(name = "税收分类编码")
    private String taxCode;

    /** 税收分类名称 */
    @Excel(name = "税收分类名称")
    private String taxName;

    /** 是否享受优惠政策标识代码 */
    @Excel(name = "是否享受优惠政策标识代码")
    private Long isPolicy;

    /** 是否享受优惠政策标识 */
    @Excel(name = "是否享受优惠政策标识")
    private String isPolicyName;

    /** 优惠政策类型代码 */
    @Excel(name = "优惠政策类型代码")
    private Long policyCode;

    /** 优惠政策类型 */
    @Excel(name = "优惠政策类型")
    private String policyName;

    /** 税率代码 */
    @Excel(name = "税率代码")
    private BigDecimal taxRate;

    /** 税率 */
    @Excel(name = "税率")
    private String taxRateName;

    /** 免税类型代码 */
    @Excel(name = "免税类型代码")
    private Long freeTaxType;

    /** 免税类型 */
    @Excel(name = "免税类型")
    private String freeTaxTypeName;

    /** 即征即退类型代码 */
    @Excel(name = "即征即退类型代码")
    private Long refundTaxType;

    /** 即征即退类型 */
    @Excel(name = "即征即退类型")
    private String refundTaxTypeName;

    /** 启用代码 */
    @Excel(name = "启用代码")
    private Long isEnabled;

    /** 启用 */
    @Excel(name = "启用")
    private String isEnabledName;

    /** 是否默认代码 */
    @Excel(name = "是否默认代码")
    private Long isDefault;

    /** 是否默认 */
    @Excel(name = "是否默认")
    private String isDefaultName;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setProductId(String productId)
    {
        this.productId = productId;
    }

    public String getProductId()
    {
        return productId;
    }
    public void setCustId(String custId)
    {
        this.custId = custId;
    }

    public String getCustId()
    {
        return custId;
    }
    public void setSiteCode(String siteCode)
    {
        this.siteCode = siteCode;
    }

    public String getSiteCode()
    {
        return siteCode;
    }
    public void setSiteName(String siteName)
    {
        this.siteName = siteName;
    }

    public String getSiteName()
    {
        return siteName;
    }
    public void setProductCode(String productCode)
    {
        this.productCode = productCode;
    }

    public String getProductCode()
    {
        return productCode;
    }
    public void setProductName(String productName)
    {
        this.productName = productName;
    }

    public String getProductName()
    {
        return productName;
    }
    public void setSpecificatCode(String specificatCode)
    {
        this.specificatCode = specificatCode;
    }

    public String getSpecificatCode()
    {
        return specificatCode;
    }
    public void setUnit(String unit)
    {
        this.unit = unit;
    }

    public String getUnit()
    {
        return unit;
    }
    public void setPrice(String price)
    {
        this.price = price;
    }

    public String getPrice()
    {
        return price;
    }
    public void setIsTax(Long isTax)
    {
        this.isTax = isTax;
    }

    public Long getIsTax()
    {
        return isTax;
    }
    public void setIsTaxName(String isTaxName)
    {
        this.isTaxName = isTaxName;
    }

    public String getIsTaxName()
    {
        return isTaxName;
    }
    public void setTaxCode(String taxCode)
    {
        this.taxCode = taxCode;
    }

    public String getTaxCode()
    {
        return taxCode;
    }
    public void setTaxName(String taxName)
    {
        this.taxName = taxName;
    }

    public String getTaxName()
    {
        return taxName;
    }
    public void setIsPolicy(Long isPolicy)
    {
        this.isPolicy = isPolicy;
    }

    public Long getIsPolicy()
    {
        return isPolicy;
    }
    public void setIsPolicyName(String isPolicyName)
    {
        this.isPolicyName = isPolicyName;
    }

    public String getIsPolicyName()
    {
        return isPolicyName;
    }
    public void setPolicyCode(Long policyCode)
    {
        this.policyCode = policyCode;
    }

    public Long getPolicyCode()
    {
        return policyCode;
    }
    public void setPolicyName(String policyName)
    {
        this.policyName = policyName;
    }

    public String getPolicyName()
    {
        return policyName;
    }
    public void setTaxRate(BigDecimal taxRate)
    {
        this.taxRate = taxRate;
    }

    public BigDecimal getTaxRate()
    {
        return taxRate;
    }
    public void setTaxRateName(String taxRateName)
    {
        this.taxRateName = taxRateName;
    }

    public String getTaxRateName()
    {
        return taxRateName;
    }
    public void setFreeTaxType(Long freeTaxType)
    {
        this.freeTaxType = freeTaxType;
    }

    public Long getFreeTaxType()
    {
        return freeTaxType;
    }
    public void setFreeTaxTypeName(String freeTaxTypeName)
    {
        this.freeTaxTypeName = freeTaxTypeName;
    }

    public String getFreeTaxTypeName()
    {
        return freeTaxTypeName;
    }
    public void setRefundTaxType(Long refundTaxType)
    {
        this.refundTaxType = refundTaxType;
    }

    public Long getRefundTaxType()
    {
        return refundTaxType;
    }
    public void setRefundTaxTypeName(String refundTaxTypeName)
    {
        this.refundTaxTypeName = refundTaxTypeName;
    }

    public String getRefundTaxTypeName()
    {
        return refundTaxTypeName;
    }
    public void setIsEnabled(Long isEnabled)
    {
        this.isEnabled = isEnabled;
    }

    public Long getIsEnabled()
    {
        return isEnabled;
    }
    public void setIsEnabledName(String isEnabledName)
    {
        this.isEnabledName = isEnabledName;
    }

    public String getIsEnabledName()
    {
        return isEnabledName;
    }
    public void setIsDefault(Long isDefault)
    {
        this.isDefault = isDefault;
    }

    public Long getIsDefault()
    {
        return isDefault;
    }
    public void setIsDefaultName(String isDefaultName)
    {
        this.isDefaultName = isDefaultName;
    }

    public String getIsDefaultName()
    {
        return isDefaultName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("productId", getProductId())
            .append("custId", getCustId())
            .append("siteCode", getSiteCode())
            .append("siteName", getSiteName())
            .append("productCode", getProductCode())
            .append("productName", getProductName())
            .append("specificatCode", getSpecificatCode())
            .append("unit", getUnit())
            .append("price", getPrice())
            .append("isTax", getIsTax())
            .append("isTaxName", getIsTaxName())
            .append("taxCode", getTaxCode())
            .append("taxName", getTaxName())
            .append("isPolicy", getIsPolicy())
            .append("isPolicyName", getIsPolicyName())
            .append("policyCode", getPolicyCode())
            .append("policyName", getPolicyName())
            .append("taxRate", getTaxRate())
            .append("taxRateName", getTaxRateName())
            .append("freeTaxType", getFreeTaxType())
            .append("freeTaxTypeName", getFreeTaxTypeName())
            .append("refundTaxType", getRefundTaxType())
            .append("refundTaxTypeName", getRefundTaxTypeName())
            .append("remark", getRemark())
            .append("isEnabled", getIsEnabled())
            .append("isEnabledName", getIsEnabledName())
            .append("isDefault", getIsDefault())
            .append("isDefaultName", getIsDefaultName())
            .toString();
    }
}
